package com.css.zfzx.sjcj.common.utils;

/**
 * @author Dbj
 * @date 2022年04月26日  17:27
 */
public class StringUtil {
    /**
      * 將例如createTime驼峰命名字段转换成create_time 下划线拼接字段
     */
    public static String humpToUnderline(String field) {
        StringBuilder result = new StringBuilder();
        if (field != null && field.length() > 0) {
            // 循环处理其余字符
            for (int i = 0; i < field.length(); i++) {
                String s = field.substring(i, i + 1);
                // 在大写字母前添加下划线
                if (s.equals(s.toUpperCase()) && !Character.isDigit(s.charAt(0))) {
                    result.append("_");
                    result.append(s.toLowerCase());
                }else{
                    result.append(s);
                }
                // 其他字符直接转成大写

            }
        }
        return result.toString();
    }

    public static void main(String[] args) {
        String s = "createTime";
        String result = humpToUnderline(s);
        System.out.println("转换后的结果：" + result);
    }
}
